package com.berchen.common.busidb.service;

import com.berchen.common.busidb.model.*;
import org.springframework.cache.annotation.Cacheable;

import java.util.List;

public interface BusidbService {

    void test();

    void batchAddBill(List<BillVo> bills);

    List<BillVo> getBills(BillVo vo);

    /**
     * 实时更新账户余额
     */
    void updateBalance();

//    /**
//     * 生成上一个月的账单
//     * @param monthBillVo
//     */
//    void createMonthBIll(MonthBillVo monthBillVo);

    /**
     * 生成单条账单
     * @param vo
     */
    void addBill(BillVo vo);


    /**
     * 根据条件查询账单数据 并且进行分页
     * @param vo
     * @return
     */
//    @Cacheable(cacheNames = "#root.args[0]",unless = "#result==null")
    List<BillVo> getBillsByCondition(BillQueryModel vo);

    /**
     * 根据ID 和UID删除账单数据
     * @param id
     */
    void delBill(Long id,Long uid);

    /**
     * 查询当月 支出收入
     * @param vo
     * @return
     */
    Double getPrice(BillQueryModel vo);

}
